package com.macro.mall.model;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.macro.mall.converter.LocalDateTimeConverter;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@ExcelIgnoreUnannotated
public class BmsTeamMuseumApplicant {

    @ExcelProperty(value = "编号", index = 1)
    @ApiModelProperty(value = "主键")
    private Long id;

    @ApiModelProperty(value = "文博区场馆id")
    private Long museumGroupId;

    @ApiModelProperty(value = "预约类型：01-个人预约；02-团队预约；")
    private String applicationType;

    @ApiModelProperty(value = "文博区场馆-团队id")
    private Long museumTeamId;

    @ApiModelProperty(value = "文博区场馆id")
    private Long museumId;

	@ApiModelProperty(value = "用户id")
    private Long userId;

    @ApiModelProperty(value = "用户名称")
    @ExcelProperty(value = "用户名称", index = 3)
    private String userName;

    @ApiModelProperty(value = "用户电话")
    @ExcelProperty(value = "用户电话", index = 4)
    private String userPhone;

    @ApiModelProperty(value = "用户证件类型（字典表维护）")
    private Long userIdType;

    @ApiModelProperty(value = "用户证件号码")
    private String userIdCard;

    @ApiModelProperty(value = "预约时间")
    @ExcelProperty(value = "预约时间", index = 5, converter = LocalDateTimeConverter.class)
    private LocalDateTime applicationTime;

    @ApiModelProperty(value = "二维码")
    private String qrCode;

    @ApiModelProperty(value = "应付金额")
    @ExcelProperty(value = "应付金额", index = 6)
    private BigDecimal shouldPayment;

    @ApiModelProperty(value = "实付金额")
    @ExcelProperty(value = "实付金额", index = 7)
    private BigDecimal actualPayment;

    @ApiModelProperty(value = "优惠券id")
    private Long couponId;

    @ApiModelProperty(value = "状态：0-已报名；1-已核验；2-已失效；3-已取消；")
    @ExcelProperty(value = "状态", index = 8)
    private String status;

    @ApiModelProperty(value = "创建者")
    private Long createUser;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "修改者")
    private Long updateUser;

    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "删除标识：0-未删除；1-已删除；")
    private String isDelete;
    
    @ApiModelProperty(value = "名称")
    @ExcelProperty(value = "名称", index = 2)
    private String name;
    
    @ApiModelProperty(value = "团队名称")
    @ExcelProperty(value = "团队名称", index = 0)
    private String teamName;

}
